package org.biblicalcontent.gbsbijbel.internal.entities;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import org.biblicalcontent.gbsbijbel.model.IBijbelboek;
import org.biblicalcontent.gbsbijbel.model.ITestament;

@Entity
@Table(name = "Testament", uniqueConstraints = @UniqueConstraint(columnNames = "naam"))
public class Testament implements ITestament {

	private String naam;

	private String omschrijving;

	@OneToMany
	private List<IBijbelboek> bijbelboeken;

	public Testament(String naam, String omschrijving, List<IBijbelboek> bijbelboeken) {
		this.naam = naam;
		this.omschrijving = omschrijving;
		this.bijbelboeken = bijbelboeken;
	}

	protected Testament() {

	}

	@Override
	public String getNaam() {
		return naam;
	}

	@Override
	public String getOmschrijving() {
		return omschrijving;
	}

	@Override
	public List<IBijbelboek> getBijbelboeken() {
		return bijbelboeken;
	}

	private void setNaam(String naam) {
		this.naam = naam;
	}

	private void setOmschrijving(String omschrijving) {
		this.omschrijving = omschrijving;
	}

	private void setBijbelboeken(List<IBijbelboek> bijbelboeken) {
		this.bijbelboeken = bijbelboeken;
	}

	@Override
	public String toString() {
		return naam;
	}

}
